package com.inossem.allotin.bean.offLine;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 离线单据列表
 * 层级关系---->模块列表--单据列表--前置单据列表
 *
 * @author 詹建宇
 * @time on 2018/12/19 15:41
 * @email jianyu.zhan@inossem.com
 */
public class OffLineInfoBean implements Serializable {

    private List<ModuleBean> moduleList;

    public List<ModuleBean> getModuleList() {
        return moduleList;
    }

    public void setModuleList(List<ModuleBean> moduleList) {
        this.moduleList = moduleList;
    }

    //功能模块
    public static class ModuleBean implements Serializable {
        //模块名称 传模块首页的ClassName
        private String moduleName;
        //该模块下单据列表
        private List<DocumentInfoBean> documentInfoList;

        public String getModuleName() {
            return moduleName;
        }

        public void setModuleName(String moduleName) {
            this.moduleName = moduleName;
        }

        public List<DocumentInfoBean> getDocumentInfoList() {
            return documentInfoList;
        }

        public void setDocumentInfoList(List<DocumentInfoBean> documentInfoList) {
            this.documentInfoList = documentInfoList;
        }

        //单据
        public static class DocumentInfoBean implements Serializable {
            private int key;//主键 传时间戳(单位秒) 保证key唯一
            private String code;//出库 入库..单号
            private Integer type;//前置单据类型
            private String remark;//备注
            private Date createDate;//创建日期
            private String creator;//创建人
            private Byte receiptStatus;//单据状态
            //.......缺参数自己加

            //下架
            private String preReceiptTypeName;
            private String whCode;
            private String whName;
            private String preReceiptCode;
            private String receiptStatusName;

            public String getPreReceiptTypeName() {
                return preReceiptTypeName;
            }

            public void setPreReceiptTypeName(String preReceiptTypeName) {
                this.preReceiptTypeName = preReceiptTypeName;
            }

            public String getWhCode() {
                return whCode;
            }

            public void setWhCode(String whCode) {
                this.whCode = whCode;
            }

            public String getWhName() {
                return whName;
            }

            public void setWhName(String whName) {
                this.whName = whName;
            }

            public String getPreReceiptCode() {
                return preReceiptCode;
            }

            public void setPreReceiptCode(String preReceiptCode) {
                this.preReceiptCode = preReceiptCode;
            }

            public String getReceiptStatusName() {
                return receiptStatusName;
            }

            public void setReceiptStatusName(String receiptStatusName) {
                this.receiptStatusName = receiptStatusName;
            }

            private List<PreDocumentInfoBean> preDocumentInfoList;//前置单据

            public Byte getReceiptStatus() {
                return receiptStatus;
            }

            public void setReceiptStatus(Byte receiptStatus) {
                this.receiptStatus = receiptStatus;
            }

            public List<PreDocumentInfoBean> getPreDocumentInfoList() {
                return preDocumentInfoList;
            }

            public void setPreDocumentInfoList(List<PreDocumentInfoBean> preDocumentInfoList) {
                this.preDocumentInfoList = preDocumentInfoList;
            }

            public int getKey() {
                return key;
            }

            public void setKey(int key) {
                this.key = key;
            }

            public String getCode() {
                return code;
            }

            public void setCode(String code) {
                this.code = code;
            }

            public Integer getType() {
                return type;
            }

            public void setType(Integer type) {
                this.type = type;
            }

            public String getRemark() {
                return remark;
            }

            public void setRemark(String remark) {
                this.remark = remark;
            }

            public Date getCreateDate() {
                return createDate;
            }

            public void setCreateDate(Date createDate) {
                this.createDate = createDate;
            }

            public String getCreator() {
                return creator;
            }

            public void setCreator(String creator) {
                this.creator = creator;
            }

            //前置单据
            public static class PreDocumentInfoBean implements Serializable{
                private int preType;//前置单据类型
                private String preCode;//前置单据单号
                private String documentInfo;//订单类型
                private String contractCode;//合同编号
                private String creator;//创建人
                private String saleOrganization;//销售组织
                private String productGroup;//产品组
                private Date createDate;//创建时间
                //.......缺参数自己加

                public Date getCreateDate() {
                    return createDate;
                }

                public void setCreateDate(Date createDate) {
                    this.createDate = createDate;
                }

                public int getPreType() {
                    return preType;
                }

                public void setPreType(int preType) {
                    this.preType = preType;
                }

                public String getPreCode() {
                    return preCode;
                }

                public void setPreCode(String preCode) {
                    this.preCode = preCode;
                }

                public String getDocumentInfo() {
                    return documentInfo;
                }

                public void setDocumentInfo(String documentInfo) {
                    this.documentInfo = documentInfo;
                }

                public String getContractCode() {
                    return contractCode;
                }

                public void setContractCode(String contractCode) {
                    this.contractCode = contractCode;
                }

                public String getCreator() {
                    return creator;
                }

                public void setCreator(String creator) {
                    this.creator = creator;
                }

                public String getSaleOrganization() {
                    return saleOrganization;
                }

                public void setSaleOrganization(String saleOrganization) {
                    this.saleOrganization = saleOrganization;
                }

                public String getProductGroup() {
                    return productGroup;
                }

                public void setProductGroup(String productGroup) {
                    this.productGroup = productGroup;
                }
            }
        }

    }

}
